package com.ruoyi.personal.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 移居，用于记录移居的相关信息对象 t_immigration
 * 
 * @author qjp
 * @date 2024-09-18
 */
public class Immigration extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键，唯一标识符 */
    private Long id;

    /** 亲属姓名，必须填写 */
    @Excel(name = "亲属姓名，必须填写")
    private String kinsfolkName;

    /** 与本人关系，必须填写 */
    @Excel(name = "与本人关系，必须填写")
    private String relation;

    /** 身份证号，必须填写 */
    @Excel(name = "身份证号，必须填写")
    private String idCard;

    /** 移居国家（地区），必须填写 */
    @Excel(name = "移居国家", readConverterExp = "地=区")
    private String movingCountry;

    /** 现住城市，必须填写 */
    @Excel(name = "现住城市，必须填写")
    private String city;

    /** 移居证件号码，必须填写 */
    @Excel(name = "移居证件号码，必须填写")
    private String immigrationIdCard;

    /** 移居类别，必须填写 */
    @Excel(name = "移居类别，必须填写")
    private String migrationCategory;

    /** 移居日期，必须填写 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "移居日期，必须填写", width = 30, dateFormat = "yyyy-MM-dd")
    private Date migrationDate;

    /** 备注，可选填写 */
    @Excel(name = "备注，可选填写")
    private String notes;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setKinsfolkName(String kinsfolkName) 
    {
        this.kinsfolkName = kinsfolkName;
    }

    public String getKinsfolkName() 
    {
        return kinsfolkName;
    }
    public void setRelation(String relation) 
    {
        this.relation = relation;
    }

    public String getRelation() 
    {
        return relation;
    }
    public void setIdCard(String idCard) 
    {
        this.idCard = idCard;
    }

    public String getIdCard() 
    {
        return idCard;
    }
    public void setMovingCountry(String movingCountry) 
    {
        this.movingCountry = movingCountry;
    }

    public String getMovingCountry() 
    {
        return movingCountry;
    }
    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }
    public void setImmigrationIdCard(String immigrationIdCard) 
    {
        this.immigrationIdCard = immigrationIdCard;
    }

    public String getImmigrationIdCard() 
    {
        return immigrationIdCard;
    }
    public void setMigrationCategory(String migrationCategory) 
    {
        this.migrationCategory = migrationCategory;
    }

    public String getMigrationCategory() 
    {
        return migrationCategory;
    }
    public void setMigrationDate(Date migrationDate) 
    {
        this.migrationDate = migrationDate;
    }

    public Date getMigrationDate() 
    {
        return migrationDate;
    }
    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("kinsfolkName", getKinsfolkName())
            .append("relation", getRelation())
            .append("idCard", getIdCard())
            .append("movingCountry", getMovingCountry())
            .append("city", getCity())
            .append("immigrationIdCard", getImmigrationIdCard())
            .append("migrationCategory", getMigrationCategory())
            .append("migrationDate", getMigrationDate())
            .append("notes", getNotes())
            .toString();
    }
}
